import { SlateElement } from "@wangeditor-next/editor";
import { DisabledElement } from "./DisabledModel";

/**
 * 生成新元素的 HTML
 * @param elem 附件元素，即上文的 disabledText
 * @param childrenHtml 子节点的 HTML 代码，void 元素可忽略
 * @returns 新元素的 HTML 字符串
 */
function disabledToHtml(elem: SlateElement, childrenHtml: string): string {
  const { value } = elem as DisabledElement;
  // 生成 HTML 代码
  // data-w-e-is-void
  // data-w-e-is-inline
  // data-value="${value}"
  const html = `<span data-w-e-type="disabledText">${value}</span>`;

  return html;
}

// 配置
const elemToHtmlConf = {
  type: "disabledText", // 节点 type ，重要！！！
  elemToHtml: disabledToHtml,
};

export default elemToHtmlConf;
